Skip to content

docs: onboarding polish — tutorial lesson-01 + audience router + STATE.a2ml refresh#649

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/inspiring-newton-dg5wov
Jun 21, 2026
Merged

docs: onboarding polish — tutorial lesson-01 + audience router + STATE.a2ml refresh#649
hyperpolymath merged 1 commit into
mainfrom
claude/inspiring-newton-dg5wov

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

The three quick wind-down items from the close-out triage. The larger docs consolidation (unifying the two learning tracks, wiki-sync audit) stays tracked in #647.

1. docs/tutorial/lesson-01-hello.adoc (new)

The docs/tutorial/ track started at lesson-02 — the intro lived only under docs/guides/, so a reader opening the tutorial began at lesson 2. Adds a concise, self-contained first lesson with a lessons 1–10 map and the check/eval/compile workflow.

The hello-world is verified against the built compiler: fn main() -> Int { println(…); return 0; } passes check, prints under eval, and compiles to WASM. (Note: the bare top-level println(…) form shown in docs/guides/lessons/01-hello-affinescript.adoc is a parse error on the current compiler — folded into #647 rather than fixed here.)

2. README + NAVIGATION — "Start here — by audience"

A top-level router so each audience has a clear entry point:

  • New users → tutorial → runnable warm-ups → language reference
  • Developers → repository map → wiki/compiler/architecture → ADRs → capability matrix
  • MaintainersMAINTAINERS → contributing → ops playbook → soundness ledger

(Also adds a SOUNDNESS.adoc back-link in NAVIGATION.adoc.)

3. .machine_readable/6a2/STATE.a2ml

Adds a 2026-06-21 session note (release fix #641, the already-landed #602 ctor fix, filed gaps #642#644/#646/#647) and bumps last-updated. It was self-flagged stale; it still mirrors the authoritative docs, it does not lead.

Verification

All three doc guards pass locally: check-doc-truthing, check-soundness-ledger, check-capability-anchors. No over-claim phrases introduced; no compiler/code changes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Lz7pRcec2Z3tVtaAhvB3M8


Generated by Claude Code

…a2ml refresh

Three small wind-down items (larger consolidation tracked in #647):

1. docs/tutorial/lesson-01-hello.adoc — the docs/tutorial track started at
   lesson-02 (the intro lived only under docs/guides/). Adds a concise,
   self-contained first lesson with a lessons 1–10 map. Example verified against
   the built compiler: the `fn main` hello-world passes check/eval/compile (the
   bare top-level println form that guides/lessons/01 shows is a parse error on
   the current compiler — folded into #647).

2. README.adoc + docs/NAVIGATION.adoc — a top-level "Start here — by audience"
   router (new users / developers / maintainers), each pointing at existing
   entry points. Also adds a SOUNDNESS.adoc back-link in NAVIGATION.

3. .machine_readable/6a2/STATE.a2ml — 2026-06-21 session note + last-updated
   bump (it was self-flagged stale; still MIRRORS, does not lead).

Guards green: check-doc-truthing, check-soundness-ledger, check-capability-anchors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lz7pRcec2Z3tVtaAhvB3M8
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 41 issues detected

Severity Count
🔴 Critical 2
🟠 High 23
🟡 Medium 16

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action denoland/setup-deno@v2 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in instant-sync.yml",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Shell execution -- validate input before passing to shell (1 occurrences, CWE-78)",
    "type": "js_exec_sync",
    "file": "/home/runner/work/affinescript/affinescript/packages/affinescript-cli/mod.js",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "Shell execution -- validate input before passing to shell (2 occurrences, CWE-78)",
    "type": "js_exec_sync",
    "file": "/home/runner/work/affinescript/affinescript/packages/affine-vscode/mod.js",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "Shell execution -- validate input before passing to shell (1 occurrences, CWE-78)",
    "type": "js_exec_sync",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-vite/src/affine-plugin-improved.js",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "expect() in hot path (32 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/affinescript/affinescript/affinescriptiser/src/codegen/wasm_gen.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (29 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/affinescript/affinescript/affinescriptiser/src/codegen/affine_gen.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "unsafe block -- requires SAFETY comment (2 occurrences, CWE-676)",
    "type": "unsafe_block",
    "file": "/home/runner/work/affinescript/affinescript/runtime/src/panic.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "unsafe block -- requires SAFETY comment (1 occurrences, CWE-676)",
    "type": "unsafe_block",
    "file": "/home/runner/work/affinescript/affinescript/runtime/src/alloc.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "unsafe block -- requires SAFETY comment (3 occurrences, CWE-676)",
    "type": "unsafe_block",
    "file": "/home/runner/work/affinescript/affinescript/runtime/src/ffi.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath marked this pull request as ready for review June 21, 2026 19:12
@hyperpolymath hyperpolymath merged commit 81caf8e into main Jun 21, 2026
17 checks passed
@hyperpolymath hyperpolymath deleted the claude/inspiring-newton-dg5wov branch June 21, 2026 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants